// import common from "./public"

// const _import = new function() {
//     let _versions = null,
//         _platform = process.env.PLATFORM,
//         _versionPath = _platform,
//         _componentsPath = _platform

//     switch (_platform) {
//         case 'mobile':
//             break;
//         default:
//             _platform = "public"
//             _componentsPath = "public"
//             break;
//     }

//     Object.defineProperties(this, {
//         Versions: {
//             get: () => {
//                 if (_versions == null) {
//                     try {
//                         _versions = require(`../${_versionPath}/components/version.json`)
//                     } catch (err) {
//                         _versions = require(`./${_platform}/components/version.json`)
//                     }
//                 }

//                 return _versions;
//             }
//         }
//     })

//     const versionMatching = ({
//         directory,
//         versions
//     }) => {
//         let defaultVersion = '@latest'

//         let version = $S.progressValue(versions, directory, '/') || defaultVersion

//         if (Object.prototype.toString.call(version) == '[object Object]') {
//             version = defaultVersion
//         }

//         return `${directory}/${version}`
//     }

//     //动态导入组件
//     this.$import = (componentName) => {
//         //#号分割版本号后面的文件名称
//         let componentNameArray = componentName.split('->')

//         let parentNameArray = componentNameArray[0].toKebabCase().split('-')

//         if (parentNameArray[0] == 'bl') {
//             parentNameArray.shift()
//         }

//         let parentName = parentNameArray.join('/')

//         let childName = componentNameArray[1] || 'index'

//         return import (`./${_componentsPath}/components/${versionMatching({
//             directory: parentName,
//             versions: _import.Versions
//         })}/${childName}`)
//     }
// }

// //实用Vue.use挂载的插件
// const plugins = new function() {
//     //遍历导入的对象，进行属性克隆
//     this.extend = (options) => {
//         Object.keys(options).forEach(key => {
//             this[key] = options[key];
//         })
//     }

//     //安装方法
//     this.install = (Vue, options = {}) => {
//         //vue异常捕获
//         Vue.config.errorHandler = function(err, vm, info) {
//             //调用vm中的公共方法
//             Vue.prototype.$blossim.errorlog({
//                 level: 'GlobleError',
//                 err,
//                 vm,
//                 info
//             })
//         }

//         //vue异步异常捕获
//         Vue.config.errorCaptured = function(err, vm, info) {
//             console.log('errorCaptured:', err, vm, info)
//         }

//         //vue异步异常捕获
//         Vue.config.asyncErrorHandler = function(err, vm, info) {
//             console.log('catch async error:', err, vm, info)
//         }

//         //vue警告捕获
//         Vue.config.warnHandler = function(msg, _vm, trace) {
//             //调用vm中的公共方法
//             Vue.prototype.$blossim.errorlog({
//                 level: 'GlobleWarn',
//                 err: {
//                     message: msg,
//                     stack: trace
//                 },
//                 vm: _vm || vm || Vue.prototype,
//                 info: msg
//             })
//         }

//         window.$import = _import.$import

//         Vue.prototype.$blossim = (command, options) => {
//             Vue.prototype.$blossim[command](options)
//         }

//         //Vue实例
//         Object.defineProperty(Vue.prototype.$blossim, 'Instance', {
//             get: () => Vue.prototype
//         })

//         Vue.prototype.$window = window

//         //遍历属性，进行逐个安装
//         Object.keys(this).forEach(key => {
//             if (Object.prototype.toString.call(this[key].install) === '[object Function]') {
//                 this[key].install(Vue, options, Vue.prototype.$blossim)
//             }
//         })
//     }

//     this.extend(common)
// }()

// export default plugins